Python可视化初级(一)——绘制第一幅图表

1.1 Python绘图常用库

  • Matplotlib库
    作为Python的基本绘图库,是Python中应用最广泛的绘图工具包之一,matplotlib能和其 他 很多库结合,如pandas等。
  • 其他库
    包括ggplot2和seaborn,还有pyecharts库等都是第三方绘图库,可以优化Python图形,使得 Python数据可视化结果更加美观。

1.2 相关参数

matplotlib.plot是最常见的绘图的模块,语法如下:

plt.plot(x,y,ls=,lw=,c=,marker=,markersize=,markeredgecolor=,markerfacecolor, label=) 
  • x: x轴上的数值
  • y: y轴上的数值
  • ls: 折线的风格(‘-‘, ’–‘, ’-.‘和’:‘)
  • lw: 线条宽度
  • c: 颜色
  • marker: 线条上点的形状
  • markersize: 线条上点的大小
  • markeredgecolor: 点的边框色
  • markerfacecolor: 点的填充色
  • label: 文本标签

1.3 例子

matplotlib库中常见函数

绘制一个简单的图形,折线图是最基本的图形

# 绘制一个简单的图形,折线图是最基本的图形
# 导入相关库
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# 简单图形代码
x = np.linspace(0,10,100)
y = np.sin(x)
plt.plot(x,y)
plt.show()

在这里插入图片描述
添加标签和图例

x = np.arange(0,1.1,0.01)
y = x**2
plt.figure(figsize=(9,9),dpi=80) #确定画布大小,dpi:图形分辨率
plt.title('lines') #添加标题
plt.xlabel('x1')
plt.ylabel('y')
plt.xlim((0,1)) # 确定x轴的范围
plt.ylim((0,1)) # 确定x轴的范围
plt.xticks([0,0.2,0.4,0.6,0.8,1]) #确定x轴的刻度
plt.yticks([0,0.2,0.4,0.6,0.8,1]) #确定y轴的刻度
plt.plot(x,y, label='y =x^2')
plt.legend(loc='best') # 图例
plt.show()

这边发现多了坐标的约束,同时增加了图例

相关参数

增加元素

x = np.linspace(0,10,100)
y = np.sin(x)
plt.plot(x,y,ls=':',lw=2,label='x和y的关系')
plt.legend()
plt.show()

这边发现中文显示乱码
支持中文显示

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.linspace(0,10,100)
y = np.sin(x)
plt.plot(x,y,ls=':',lw=2,label='x和y的关系')
plt.legend(loc= 'upper center')
plt.show()
# ls- -函数线条风格(='-' 实线, '--' 虚线 ,'-.' 点划线 ,':' 实点线)

在这里插入图片描述
调整线条样式,宽度,形状和点

# marker线条上点的形状
# markersize 点的大小
# c 颜色
# markeredgecolor  点的边框色
# markerfacecolor  点的填充色
x = np.linspace(0,10,100)
y = np.sin(x)
#plt.plot(x,y,ls=':',lw=2,marker='D',markersize=2,c= 'r',label='x和y的关系')
plt.plot(x,y,ls='--',
         lw=2,
         marker='s',
         markersize=10,
         c= 'red',
         markeredgecolor ='blue',
         markerfacecolor='black',
         label='x和y的关系')
plt.legend(loc= 'center')
plt.show()

在这里插入图片描述
简单案例

#案例
wechat = pd.read_excel('wechat.xlsx')
wechat.Date=pd.to_datetime(wechat.Date,format='%Y-%m-%d')
# 绘制单条折线图
plt.plot(wechat.Date, # x轴数据
         wechat.Counts, # y轴数据
         linestyle = '-', # 折线类型
         linewidth = 2, # 折线宽度
         color = 'steelblue', # 折线颜色
         marker = 'o', # 折线图中添加圆点
         markersize = 6, # 点的大小
         markeredgecolor='black', # 点的边框色
         markerfacecolor='red') # 点的填充色
# 添加y轴标签
plt.ylabel('人数')
plt.xticks(rotation=45)
# 添加图形标题
plt.title('每天微信文章阅读人数趋势')
# 显示图形
plt.show()

在这里插入图片描述

保存图像

x = np.arange(0,1.1,0.01)
y = x**2
plt.figure(figsize=(9,9),dpi=80) #确定画图大小,dpi:图形分辨率
plt.title('lines') #添加标题
plt.xlabel('x')
plt.ylabel('y')
plt.xlim((0,1)) # 确定x轴的范围
plt.ylim((0,1)) # 确定x轴的范围
plt.xticks([0,0.2,0.4,0.6,0.8,1]) #确定x轴的刻度
plt.yticks([0,0.2,0.4,0.6,0.8,1]) #确定y轴的刻度
plt.plot(x,y,label='y =x^2')
plt.legend(loc='best')
plt.savefig('1.pdf')
plt.show()

猜你喜欢

转载自blog.csdn.net/qq_34773244/article/details/86362760
今日推荐