python - Matplotlib 图例中出现相同的符号
问题描述
我正在 couseera 学习机器学习课程。我已经为数据绘制了一个图并试图制作一个图例。我在网上参考并使用了这种格式
plt.figure(1)
plt.title('input data plot')
plt.xlabel('Exam 1 marks')
plt.ylabel('Exam 2 marks')
plt.plot(X[temp0,0],X[temp0,1],'or')
plt.plot(X[temp1,0],X[temp1,1],'xb')
plt.plot(x_boundary,y_boundary,'-g')
plt.legend(['Not admitted','Admitted','Decision Boundary'],numpoints=1)
plt.show()
然后我使用了下面给出的另一种格式
plt.figure(1)
plt.title('input data plot')
plt.xlabel('Exam 1 marks')
plt.ylabel('Exam 2 marks')
plt.plot(X[temp0,0],X[temp0,1],'or',label='Not admitted')
plt.plot(X[temp1,0],X[temp1,1],'xb',label='Admitted')
plt.plot(x_boundary,y_boundary,'-g',label='Decision Boundary')
plt.legend()
plt.show()
谁能帮我解决这个问题。先感谢您。
解决方案
如果没有更多信息,我不能肯定地说,但我强烈怀疑您的问题出在您的数据上。如果您的值数组包含在另一个数组中,您将获得在第二个示例中看到的行为。
查看此示例以了解不同之处:
import matplotlib.pyplot as plt
import random
# Note the extra array brackets. This is not good.
X = [[random.randint(0,10) for i in range(0,5)]]
Y = [[random.randint(0,10) for i in range(0,5)]]
X1 = [random.randint(0,10)for i in range(0,5)]
Y1 = [random.randint(0,10)for i in range(0,5)]
plt.plot(X,Y,'or',label='Double Array')
plt.plot(X1,Y1,'xb',label='Single Array')
plt.legend()
plt.show()
推荐阅读
- flutter - 空感知 .firstWhere、.singleWhere、.lastWhere 在 Dart 的列表中?
- r - 错误在数据中找不到 y.position 变量 'y.position'
- android - 解决手势冲突的困惑
- gatsby - 每次添加新的降价博客文章时,我是否必须构建我的静态 Gatsby 博客?还是会动态显示来自降价文件/目录的帖子?
- swift - Swift 5:如何将 SSL 证书添加到 Starscream Websocket
- maven - MAVEN 如何在不增加耳朵大小的情况下在多个模块中添加通用库?
- react-native - 在后台运行时关闭 React Native 应用程序/调度 redux 操作
- django - 来自 S3 的图像 url 在 Django 模板中不起作用
- android - 基于所需订购的自定义组件排序
- apache-spark - 如何将 spark mllib 与结构化流结合使用?