本文将从多个方面详细阐述Python常用的绘图库,包括matplotlib、seaborn和plotly等,并给出示例代码。
一、matplotlib
matplotlib是Python中最常用的绘图库之一。
1、绘制简单的折线图
import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y = [5,4,3,2,1]
plt.plot(x,y)
plt.show()
2、绘制图例和设置坐标轴名称
import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y1 = [5,4,3,2,1]
y2 = [1,2,3,4,5]
plt.plot(x,y1,label='Line 1')
plt.plot(x,y2,label='Line 2')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.legend()
plt.show()
3、绘制子图
import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y1 = [5,4,3,2,1]
y2 = [1,2,3,4,5]
plt.subplot(2, 1, 1)
plt.plot(x, y1)
plt.title('Subplot 1')
plt.subplot(2, 1, 2)
plt.plot(x, y2)
plt.title('Subplot 2')
plt.subplots_adjust(hspace=0.5)
plt.show()
二、seaborn
seaborn是Python中一个基于matplotlib的高级绘图库,它提供了更好的默认显示效果。
1、绘制柱状图
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")
sns.barplot(x="day", y="total_bill", data=tips)
plt.show()
2、绘制散点图并添加回归线
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")
sns.regplot(x="total_bill", y="tip", data=tips)
plt.show()
3、绘制热力图
import seaborn as sns
import matplotlib.pyplot as plt
flights = sns.load_dataset("flights").pivot("month", "year", "passengers")
sns.heatmap(flights, annot=True, fmt="d")
plt.show()
三、plotly
plotly是Python中一个交互式可视化库,支持多种绘图类型和动态图展示。
1、绘制散点图
import plotly.graph_objs as go
x = [1,2,3,4]
y = [4,3,2,1]
data = [go.Scatter(x=x,y=y,mode='markers')]
fig = go.Figure(data=data)
fig.show()
2、绘制条形图
import plotly.graph_objs as go
x = ['A','B','C','D']
y = [10,20,30,40]
data = [go.Bar(x=x,y=y)]
fig = go.Figure(data=data)
fig.show()
3、绘制地图
import plotly.graph_objs as go
data = dict(
type = 'choropleth',
locations = ['CA', 'NY', 'TX'],
locationmode = 'USA-states',
colorscale= 'Portland',
z=[1.0, 2.0, 3.0],
colorbar = {'title':'Colorbar Title'})
layout = dict(
geo = {'scope':'usa'})
fig = go.Figure(data = [data], layout = layout)
fig.show()