python画图


在做数据分析时,有时需要画图,但是苦于在网上搜python画图时,详细的教程非常多,但是就是找不到能马上解决自己问题那一行代码,所以这里记录一下能够适合需求简单的应急方法

设置标题、中文标题

首先为了举例构造两个list:

mport matplotlib.pyplot as plt  
list1=[1,2,3,4,5,6,2,3,4,6,7,5,7] 
list2=[2,3,4,5,8,9,2,1,3,4,5,2,4]

画图:

plt.plot(list1) 
plt.plot(list2) 
plt.show()

image

设置标题:

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.title('显示中文标题')
plt.plot(list1)
plt.plot(list2)
plt.show()

image

完整代码:

import matplotlib.pyplot as plt
list1=[1,2,3,4,5,6,2,3,4,6,7,5,7]
list2=[2,3,4,5,8,9,2,1,3,4,5,2,4]
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.title('显示中文标题')
plt.plot(list1)
plt.plot(list2)
plt.show()

给横纵坐标命名、设置横坐标刻度、间距、起始位置

横纵坐标命名:

plt.xlabel("横坐标")
plt.ylabel("纵坐标")

image

设置横坐标从0开始,间隔为1:

my_x_ticks = np.arange(0, 13, 1)#原始数据有13个点,故此处为设置从0开始,间隔为1
plt.xticks(my_x_ticks)

image

设置横坐标从1开始,间隔为1:

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)
plt.plot(x,list2)

image

完整代码

import matplotlib.pyplot as plt
import numpy as np
list1=[1,2,3,4,5,6,2,3,4,6,7,5,7]
list2=[2,3,4,5,8,9,2,1,3,4,5,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)
plt.plot(x,list2)
plt.show()

添加图例、网格

添加图例
图例是用来表示图中对应的线的含义,关键代码:

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')#添加label设置图例名称
plt.plot(x,list2,label='list2')#添加label设置图例名称
plt.legend()

image
对应线的颜色也是可以设置的,一般用默认的即可。

添加网格
添加网格可以让图更清晰。关键代码:

plt.grid()

image

完整代码

import matplotlib.pyplot as plt
import numpy as np
list1=[1,2,3,4,5,6,2,3,4,6,7,5,7]
list2=[2,3,4,5,8,9,2,1,3,4,5,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')#添加label设置图例名称
plt.plot(x,list2,label='list2')#添加label设置图例名称
plt.legend()
plt.grid()#添加网格
plt.show()

线条颜色、大小、类型:点、虚线等

线条颜色设置
比如此处我需要把我图中两根线设置为绿色和蓝色,关键代码:

plt.plot(x,list1,label='list1',color='g')#添加color设置线条颜色
plt.plot(x,list2,label='list2',color='b')

image

线条大小
比如设置蓝线粗一些,绿线细一些,关键代码:

plt.plot(x,list1,label='list1',color='g',linewidth=1)#添加linewidth设置线条大小
plt.plot(x,list2,label='list2',color='b',linewidth=5)

image

线条类型
比如设置蓝线用虚线表示,绿线用点线表示,关键代码:

plt.plot(x,list1,label='list1',color='g',linewidth=2,linestyle=':')#添加linestyle设置线条类型
plt.plot(x,list2,label='list2',color='b',linewidth=5,linestyle='--')

image

完整代码

import matplotlib.pyplot as plt
import numpy as np
list1=[1,2,3,4,5,6,2,3,4,6,7,5,7]
list2=[2,3,4,5,8,9,2,1,3,4,5,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='g',linewidth=2,linestyle=':')#添加linestyle设置线条类型
plt.plot(x,list2,label='list2',color='b',linewidth=5,linestyle='--')
plt.legend()
plt.grid()#添加网格
plt.show()

matplotlib颜色表:
替换上文对应的代码即可,
image
matplotlib线段类型大全:
image

标记、marker、设置标记大小、marker符号大全

设置标记:
有时候我们希望给图上的每个点做标记,可以更直观的看到标记点,关键代码:

plt.plot(x,list1,label='list1',marker = "o",markersize=10)#marker设置标记形状 markersize设置标记大小
plt.plot(x,list2,label='list2',marker = "x",markersize=8)

image

完整代码

import matplotlib.pyplot as plt
import numpy as np
list1=[1,2,3,4,5,6,2,3,4,6,7,5,7]
list2=[2,3,4,5,8,9,2,1,3,4,5,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',marker = "o",markersize=10)#marker设置标记形状 markersize设置标记大小
plt.plot(x,list2,label='list2',marker = "x",markersize=8)
plt.legend()
plt.grid()#添加网格
plt.show()

matplotlib库marker表:
在代码里输入对应的符号或字母即可,
image

posted on 2022-01-12 23:43  朴素贝叶斯  阅读(600)  评论(0编辑  收藏  举报

导航