定义两个列表x=[1,2,3,4]和y=[5,4,3,2],分别画出以列表x为横轴坐标,列表y为纵轴坐标的折线图(线条宽度为2,以点划线绘制)、柱状图、水平柱状图、堆积柱状图、箱线图、散点图(点以星号*标记)。各子图在画布上分成三行两列绘制。
时间: 2023-09-03 15:25:19 浏览: 89
Python3使用PyQt5制作简单的画板/手写板实例
### 回答1:
我可以给你画出来。折线图:线条宽度为2,以点划线绘制。柱状图:柱状图的每个点的高度与其对应的y值相等。水平柱状图:每个点的宽度与其对应的y值相等。堆积柱状图:每个点的高度与其对应的x+y值相等。箱线图:每个箱子的上下边框由最大值和最小值组成,中间有一条线表示中位数,上下的短线表示四分位数。散点图:点以星号*标记,每个点的x值与x列表中的元素相等,每个点的y值与y列表中的元素相等。
### 回答2:
import matplotlib.pyplot as plt
import numpy as np
# 创建画布
fig = plt.figure(figsize=(10, 15))
# 子图1:折线图
ax1 = fig.add_subplot(321)
ax1.plot(x, y, linestyle=':', linewidth=2)
ax1.set_xlabel('x')
ax1.set_ylabel('y')
ax1.set_title('折线图')
# 子图2:柱状图
ax2 = fig.add_subplot(322)
ax2.bar(x, y, width=0.5)
ax2.set_xlabel('x')
ax2.set_ylabel('y')
ax2.set_title('柱状图')
# 子图3:水平柱状图
ax3 = fig.add_subplot(323)
ax3.barh(x, y, height=0.5)
ax3.set_xlabel('y')
ax3.set_ylabel('x')
ax3.set_title('水平柱状图')
# 子图4:堆积柱状图
ax4 = fig.add_subplot(324)
y2 = np.array([1,2,3,4])
ax4.bar(x, y, width=0.5, label='y1')
ax4.bar(x, y2, width=0.5, bottom=y, label='y2')
ax4.set_xlabel('x')
ax4.set_ylabel('y')
ax4.set_title('堆积柱状图')
ax4.legend()
# 子图5:箱线图
ax5 = fig.add_subplot(325)
data = [x, y]
ax5.boxplot(data)
ax5.set_xticklabels(['x', 'y'])
ax5.set_title('箱线图')
# 子图6:散点图
ax6 = fig.add_subplot(326)
ax6.scatter(x, y, marker='*', color='r')
ax6.set_xlabel('x')
ax6.set_ylabel('y')
ax6.set_title('散点图')
# 调整子图间的间距
plt.tight_layout()
# 展示图像
plt.show()
### 回答3:
import matplotlib.pyplot as plt
import numpy as np
x = [1,2,3,4]
y = [5,4,3,2]
# 折线图
plt.subplot(3, 2, 1)
plt.plot(x, y, 'bo-', linewidth=2)
plt.title("Line Plot")
# 柱状图
plt.subplot(3, 2, 2)
plt.bar(x, y, color='b')
plt.title("Bar Plot")
# 水平柱状图
plt.subplot(3, 2, 3)
plt.barh(x, y, color='b')
plt.title("Horizontal Bar Plot")
# 堆积柱状图
y2 = [1, 2, 3, 4]
plt.subplot(3, 2, 4)
plt.bar(x, y, color='b')
plt.bar(x, y2, bottom=y, color='r')
plt.title("Stacked Bar Plot")
# 箱线图
data = [x, y]
plt.subplot(3, 2, 5)
plt.boxplot(data)
plt.title("Box Plot")
# 散点图
plt.subplot(3, 2, 6)
plt.scatter(x, y, marker='*', color='b')
plt.title("Scatter Plot")
plt.tight_layout()
plt.show()
阅读全文