数据可视化之——matplotlib基础学习

一、Matplotlib 基础用法:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1, 1, 100)  # 生成100个点
y = 2*x + 1
plt.plot(x, y)
plt.show()

结果:

二、Matplotlib figure图像:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1, 1, 100)
y1 = 2*x + 1
y2 = x**2

plt.figure()
plt.plot(x, y1)

plt.figure()
plt.plot(x, y2)

plt.show()

结果:

x = np.linspace(-1, 1, 100)
y1 = 2 * x + 1
y2 = x ** 2

plt.figure()
plt.plot(x, y1)

plt.figure(figsize=(2, 2))
plt.plot(x, y2)

plt.show()

结果:

plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
plt.plot(x, y2, color='blue', linewidth=5.0, linestyle='-')

结果:

三、Matplotlib设置坐标轴

(一)

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3, 3, 100)
y1 = 2 * x + 1
y2 = x ** 2

# xy显示范围
plt.xlim((-1, 2))
plt.ylim((-2, 3))

# xy描述
plt.xlabel('I am x')
plt.ylabel('I am y')

plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
plt.plot(x, y2, color='blue', linewidth=5.0, linestyle='-')
plt.show()

new_ticks = np.linspace(-2, 2, 11)
print(new_ticks)

结果:

[-2. -1.6 -1.2 -0.8 -0.4 0. 0.4 0.8 1.2 1.6 2. ]

x = np.linspace(-3, 3, 100)
y1 = 2 * x + 1
y2 = x ** 2

# xy显示范围
plt.xlim((-1, 2))
plt.ylim((-2, 3))

# xy描述
plt.xlabel('I am x')
plt.ylabel('I am y')

plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
plt.plot(x, y2, color='blue', linewidth=5.0, linestyle='-')

plt.xticks(new_ticks)  ### 
plt.yticks([-1, 0, 1, 2, 3], 
           ['level1', 'level2', 'level3', 'level4', 'level5']) ### 
plt.show()

结果:

(二)

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3, 3, 100)
y1 = 2 * x + 1
y2 = x ** 2

# xy显示范围
plt.xlim((-1, 2))
plt.ylim((-2, 3))

# xy描述
plt.xlabel('I am x')
plt.ylabel('I am y')

plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
plt.plot(x, y2, color='blue', linewidth=5.0, linestyle='-')

new_ticks = np.linspace(-2, 2, 11)
print(new_ticks)

plt.xticks(new_ticks)  ### 
plt.yticks([-1, 0, 1, 2, 3], 
           ['level1', 'level2', 'level3', 'level4', 'level5']) ### 

# gca get current axis
ax = plt.gca()
# 把右边和上边的边框去掉
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 把x轴的刻度设置为 'bottom'
# 把y轴的刻度设置为 'left'
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
# 设置bottom对应到 0点
# 设置left对应到 0点
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))

plt.show()

结果:
[-2. -1.6 -1.2 -0.8 -0.4 0. 0.4 0.8 1.2 1.6 2. ]

四、Matplotlib legend图例

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3, 3, 100)
y1 = 2 * x + 1
y2 = x ** 2

# xy显示范围
plt.xlim((-1, 2))
plt.ylim((-2, 3))

# xy描述
plt.xlabel('I am x')
plt.ylabel('I am y')

l1, = plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
l2, = plt.plot(x, y2, color='blue', linewidth=5.0, linestyle='-')
plt.legend(handles=[l1, l2], labels=['test1', 'test2'], loc='best')  ## 图例


new_ticks = np.linspace(-2, 2, 11)
print(new_ticks)

plt.xticks(new_ticks)  ### 
plt.yticks([-1, 0, 1, 2, 3], 
           ['level1', 'level2', 'level3', 'level4', 'level5']) ### 

plt.show()

结果:
[-2. -1.6 -1.2 -0.8 -0.4 0. 0.4 0.8 1.2 1.6 2. ]

以上。
待续。。。。

posted @ 2020-01-04 18:48  洪荒少男~  阅读(217)  评论(0编辑  收藏  举报