zl程序教程

您现在的位置是:首页 >  Python

当前栏目

【2】超级详细Python-matplotlib画图,手把手教你画图!(线条颜色、大小、线形、标签)

2023-02-18 16:36:22 时间

Python画图(线条颜色、大小、线形)

先放基础代码,下面讲述效果:

import matplotlib.pyplot as plt
import numpy as np

list1=[1,2,6,4,5,6,2,4,4,5,7]
list2=[2,3,5,8,12,1,3,4,6,2,4]
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.title('显示中文标题')
plt.xlabel("横坐标")
plt.ylabel("纵坐标")
x=np.arange(0,len(list1))+1       #//得到长度
x[0]=1                            #%坐标从1开始
my_x_ticks = np.arange(1, 14, 1)  #!控制横坐标网格化程度,显示更加美观
plt.xticks(my_x_ticks)
plt.plot(x,list1,label='list1',color='g')
plt.plot(x,list2,label='list2',color='b')
plt.legend()
plt.grid()#添加网格
plt.show()
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签

没有这行代码我在vscode里面显示的标签是乱码,如下图:

线条颜色设置以及网格大小标签设置效果

plt.plot(x,list1,label='list1',color='g')
plt.plot(x,list2,label='list2',color='b')

颜色可以自己设置选择

这里给出一个颜色网址什么都有:https://www.5tu.cn/colors/yansebiao.html

my_x_ticks = np.arange(1, 14, 1)  #!控制横坐标网格化程度,显示更加美观
plt.xticks(my_x_ticks)

网格化控制坐标距离更加美观:

标签:就是右上角的显示

然后可以设置线条的大小和样式

plt.plot(x,list1,label='list1',color='Magenta',linewidth=2,linestyle='-.')#添加linestyle设置线条类型
plt.plot(x,list2,label='list2',color='DarkTurquoise',linewidth=4,linestyle='--')

颜色参考网址随便设置,效果图:

线段类型:

完整代码:

import matplotlib.pyplot as plt
import numpy as np

list1=[1,2,6,4,5,6,2,4,4,5,7]
list2=[2,3,5,8,12,1,3,4,6,2,4]
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.title('显示中文标题')
plt.xlabel("横坐标")
plt.ylabel("纵坐标")
x=np.arange(0,len(list1))+1
x[0]=1
my_x_ticks = np.arange(1, 14, 1)
plt.xticks(my_x_ticks)
plt.plot(x,list1,label='list1',color='Magenta',linewidth=2,linestyle='-.')#添加linestyle设置线条类型
plt.plot(x,list2,label='list2',color='DarkTurquoise',linewidth=4,linestyle='--')
plt.legend()
plt.grid()#添加网格
plt.show()

maker设置

'.' point marker
',' pixel marker
'o' circle marker
'v' triangle_down marker
'^' triangle_up marker
'<' triangle_left marker
'>' triangle_right marker
'1' tri_down marker
'2' tri_up marker
'3' tri_left marker
'4' tri_right marker
's' square marker
'p' pentagon marker
'*' star marker
'h' hexagon1 marker
'H' hexagon2 marker
'+' plus marker
'x' x marker
'D' diamond marker
'd' thin_diamond marker
'|' vline marker
'_' hline marker
import matplotlib.pyplot as plt
import numpy as np
from numpy.random import randn
plt.plot(randn(30).cumsum(), 'ro--')
#等价于
plt.plot(randn(30).cumsum(), color='g', linestyle='dashed', marker='o')
plt.show()