我正在尝试制作散点图并使用列表中的不同数字注释数据点.所以例如我想绘制y vs x并使用n中的相应数字进行注释.
y = [2.56422, 3.77284, 3.52623, 3.51468, 3.02199]
z = [0.15, 0.3, 0.45, 0.6, 0.75]
n = [58, 651, 393, 203, 123]
ax = fig.add_subplot(111)
ax1.scatter(z, y, fmt='o')
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
假设我有三个数据集:
X = [1,2,3,4]
Y1 = [4,8,12,16]
Y2 = [1,4,9,16]
Run Code Online (Sandbox Code Playgroud)
我可以分散这个情节:
from matplotlib import pyplot as plt
plt.scatter(X,Y1,color='red')
plt.scatter(X,Y2,color='blue')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我怎么能用10套呢?
我搜索了这个,可以找到我所问的任何参考.
编辑:澄清(希望)我的问题
如果我多次调用散点图,我只能在每个散点图上设置相同的颜色.另外,我知道我可以手动设置颜色数组,但我确信有更好的方法可以做到这一点.我的问题是,"我怎样才能自动散布我的几个数据集,每个数据集都有不同的颜色.
如果这有帮助,我可以轻松地为每个数据集分配一个唯一的编号.
在Python中,使用Matplotlib,如何绘制带有空心圆的散点图?目标是在已经绘制的一些彩色圆盘周围绘制空心圆圈scatter(),以便突出显示它们,理想情况下无需重绘彩色圆圈.
我试过facecolors=None,但没有用.
有没有办法用边缘直方图创建散点图,就像下面的示例一样ggplot2?在Matlab中它是scatterhist()函数,并且R也存在等价物.但是,我还没有看到ggplot2.

我开始尝试创建单个图形,但不知道如何正确排列它们.
require(ggplot2)
x<-rnorm(300)
y<-rt(300,df=2)
xy<-data.frame(x,y)
xhist <- qplot(x, geom="histogram") + scale_x_continuous(limits=c(min(x),max(x))) + opts(axis.text.x = theme_blank(), axis.title.x=theme_blank(), axis.ticks = theme_blank(), aspect.ratio = 5/16, axis.text.y = theme_blank(), axis.title.y=theme_blank(), background.colour="white")
yhist <- qplot(y, geom="histogram") + coord_flip() + opts(background.fill = "white", background.color ="black")
yhist <- yhist + scale_x_continuous(limits=c(min(x),max(x))) + opts(axis.text.x = theme_blank(), axis.title.x=theme_blank(), axis.ticks = theme_blank(), aspect.ratio = 16/5, axis.text.y = theme_blank(), axis.title.y=theme_blank() )
scatter <- qplot(x,y, data=xy) + scale_x_continuous(limits=c(min(x),max(x))) + scale_y_continuous(limits=c(min(y),max(y)))
none <- qplot(x,y, data=xy) + geom_blank()
Run Code Online (Sandbox Code Playgroud)
并使用 …
我试图绘制两个变量,其中N = 700K.问题是重叠太多,因此情节大部分都是黑色的固体块.是否有任何方法可以使用灰度"云",其中图的黑暗是区域中点数的函数?换句话说,我不希望显示单个点,而是希望绘图为"云",区域中的点数越多,该区域越暗.
在R中,plot()函数采用pch控制图中点的外观的参数.我正在制作具有数万个点的散点图,并且更喜欢一个小的但不是太小的点.基本上,我觉得pch='.'太小了,但pch=19太胖了.有什么东西在中间或某种方式来缩小点以某种方式?
我目前有一个nx3矩阵阵列.我想将三列绘制为三个轴.我怎样才能做到这一点?
我用google搜索,人们建议使用Matlab,但我真的很难理解它.我还需要它是散点图.
有人可以教我吗?
散点图矩阵的示例

matplotlib.pyplot中有这样的功能吗?
我创建了一个4D散点图来表示特定区域的不同温度.创建图例时,图例会显示正确的符号和颜色,但会在其中添加一条线.我正在使用的代码是:
colors=['b', 'c', 'y', 'm', 'r']
lo = plt.Line2D(range(10), range(10), marker='x', color=colors[0])
ll = plt.Line2D(range(10), range(10), marker='o', color=colors[0])
l = plt.Line2D(range(10), range(10), marker='o',color=colors[1])
a = plt.Line2D(range(10), range(10), marker='o',color=colors[2])
h = plt.Line2D(range(10), range(10), marker='o',color=colors[3])
hh = plt.Line2D(range(10), range(10), marker='o',color=colors[4])
ho = plt.Line2D(range(10), range(10), marker='x', color=colors[4])
plt.legend((lo,ll,l,a, h, hh, ho),('Low Outlier', 'LoLo','Lo', 'Average', 'Hi', 'HiHi', 'High Outlier'),numpoints=1, loc='lower left', ncol=3, fontsize=8)
Run Code Online (Sandbox Code Playgroud)
我试过换Line2D到Scatter和scatter.Scatter返回错误并scatter更改了图表并返回了错误.
有了scatter,我改为range(10)包含数据点的列表.每个列表包含x,y或z变量.
lo = plt.scatter(xLOutlier, yLOutlier, zLOutlier, …Run Code Online (Sandbox Code Playgroud) 你能帮我把标签贴在下图上吗?

我使用的代码是:
valbanks<-scan("banks.txt", what=list(0,0,""), sep="", skip=1, comment.char="#")
valbanks
valj2007<-valbanks[[1]]
valj2009<-valbanks[[2]]
namebank<-valbanks[[3]]
percent_losses<-(valj2009-valj2007)/valj2007
percent_losses
abs_losses<-(valj2007-valj2009)
abs_losses
plot(abs_losses, percent_losses,main="Absolute Losses vs. Relative Losses(in%)",xlab="Losses (absolute, in miles of millions)",ylab="Losses relative (in % of January´2007 value",col="blue", pch = 19, cex = 1, lty = "solid", lwd = 2,text(percet_losses, abs_losses,namebank))
text(percet_losses, abs_losses,labels=namebank, cex= 0.7, offset = 10)
Run Code Online (Sandbox Code Playgroud)
而数据是:
Value_Jan_2007 Value_Jan_2009 Bank #
49 16 Morgan_Stanley
120 4.6 RBS
76 10.3 Deutsche_Bank
67 17 Credit_Agricole
80 26 Societé_Generale
91 7.4 Barclays
108 32.5 BNP-Paribas
93 26 …Run Code Online (Sandbox Code Playgroud)