python中的常见作图

25次阅读

共计 1298 个字符,预计需要花费 4 分钟才能阅读完成。

本篇博文主要介绍一下 python 中常见的作图方式

线形图

import matplotlib.pyplot as plt
import numpy as np
#生成数据
x = np.arange(0, 10, 0.2)
y = np.sin(x)

# 生成图形
plt.plot(x, y)
plt.show()

或者是类似 matlab 的代码风格, 两者结果类似。

# Matlab 风格
from pylab import *
x = arange(0, 10, 0.2)
y = sin(x)
plot(x, y)
show()


在一个图形中画多张子图,类似于 matlab 中的 subplot 函数。

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 10, 0.2)
y = np.sin(x)
z = np.cos(x)

# 在第一个坐标轴上, 画上正弦信号
fig, axs = plt.subplots(nrows=2, ncols=1)

axs[0].plot(x, y)
axs[0].set_ylabel('Sine')

# 第二个坐标轴
axs[1].plot(x, z)
axs[1].set_ylabel('Cosine')
plt.show()

散点图

# 单变量数据
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import scipy.stats as stats
import seaborn as sns

# 生成数据
x = np.random.randn(500)

# 绘制图形
plt.plot(x, '.')
plt.show()
# 展示

直方图

# 直方图
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import scipy.stats as stats
import seaborn as sns

# 生成数据
x = np.random.randn(500)
plt.hist(x, bins=25)

柱形图

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import scipy.stats as stats
import seaborn as sns
df = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
df.plot(kind='bar', grid = False)

饼图

# 饼图
import seaborn as sns
import matplotlib.pyplot as plt

txtLabels = 'Cats', 'Dogs', 'Frogs', 'Others'
fractions = [45, 30, 15, 10]
offsets = (0, 0.05, 0, 0)
plt.pie(fractions, explode=offsets, labels=txtLabels, autopct='1.1f%%', shadow=True, startangle=90, 
       colors=sns.color_palette('muted'))
plt.axis('equal')

正文完
 0