标签: scatter-plot

如何在 R 中向 scatterplot3d 添加图例

我想在我的 scatterplot3d 中添加图例。我创建了 3 个单独的图并将它们叠加到 1 个图中,所以我不知道图例的语法(“topleft”,inset=0.5)应该去哪里

Plot <-scatterplot3d(data$Size,data$Pct,data$bias1, type='h', zlim=c(-20,100), xlab="size", ylab= "Percent", zlab="Bias")

Plot$points3d (data$Size,data$Pct,data$Bias2,
  col="blue", type="h", pch=15, cex=.6)  

Plot$points3d(data$Size,data$Pct,data$Bias3,
  col="red", type="h", pch=4, cex=.6)  
Run Code Online (Sandbox Code Playgroud)

r scatter-plot

5
推荐指数
1
解决办法
7598
查看次数

更新 pyplot.scatter 的位置和颜色

我已经为此苦苦挣扎了一段时间,但无法让它发挥作用。我正在读取一个文件块并从中绘制散点图数据,我想通过更新for循环中每个块的散点图来“动画”它(并使其适应实时数据流)。

所以像这个丑陋的例子一样适用于单个情节:

x = [1, 2, 3, 4]
y = [4, 3, 2, 1]
alpha = [0.2, 0.3, 0.8, 1.0]
c = np.asarray([(0, 0, 1, a) for a in alpha])
s = scatter(x, y, marker='o', color=c, edgecolors=c)
Run Code Online (Sandbox Code Playgroud)

上面的情节

但我怎么更新,而无需调用的情节s.remove()scatter()反复?完全不直观的命名s.set_array并且s.set_offsets应该更新颜色以及 x 和 y 位置,但我无法弄清楚如何将它们与我上面的 x、y、alpha 数据类型一起使用。

(另外,有没有更好的方法可以在上图中进行 alpha 计算?)

python plot scatter matplotlib scatter-plot

5
推荐指数
1
解决办法
3334
查看次数

在pyqtgraph中设置背景颜色的问题

在 python 中使用 pyqtgraph 模块时遇到问题。当我将白色背景颜色添加到 glscatterplot 时,散点就会消失。就像如果背景颜色被添加到散点图的颜色中,那么一切都是白色的。这是我使用的一段代码:

w = gl.GLViewWidget()
w.setBackgroundColor('w')
w.show()
sp3 = gl.GLScatterPlotItem(pos=np.transpose(pos3), color=rgba_img, size=1, pxMode=False)
w.addItem(sp3)
Run Code Online (Sandbox Code Playgroud)

如果我在 setBackgroundColor 方法中将 ('w') 替换为 ('k'),则分散的颜色很好,背景为黑色。有没有其他人遇到过这个问题?

python scatter-plot setbackground pyqtgraph

5
推荐指数
2
解决办法
8486
查看次数

matplotlib 中无效的 rgba arg“#”

我无法弄清楚在尝试在 matplotlib 中创建散点图时如何使用颜色。

我正在尝试绘制具有不同颜色点的多个散点图来显示集群。

colors=['#12efff','#eee111','#eee00f','#e00fff','#123456','#abc222','#000000','#123fff','#1eff1f','#2edf4f','#2eaf9f','#22222f'
        '#eeeff1','#eee112','#00ef00','#aa0000','#0000aa','#000999','#32efff','#23ef68','#2e3f56','#7eef1f','#eeef11']
C=1
fig = plt.figure()
ax = fig.gca(projection='3d')
for fgroups in groups:
   X=[np.random.rand(50),np.random.rand(50),np.random.rand(50)]
   y=[np.random.rand(50),np.random.rand(50),np.random.rand(50)]
   Z=[np.random.rand(50),np.random.rand(50),np.random.rand(50)]
   C=(C+1) % len(colors)
   ax.scatter(X,Y,Z, s=20, c=colors[C], depthshade=True)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我收到的错误如下:

ValueError: to_rgba: 无效的 rgba arg "#" to_rgb: 无效的 rgb arg "#" 无法将字符串转换为浮点数: #

看起来它将这些 RGB 参数视为浮点数。

然而,在 matplotlib 文档中,颜色是以这种风格编写的http://matplotlib.org/api/colors_api.html

我缺少什么?

python matplotlib scatter-plot

5
推荐指数
1
解决办法
1万
查看次数

使用 matplotlib 绘制大量时间序列数据点

我在一个月(30 天)中每 5 分钟收集一次传感器数据。这意味着,我有一个时间序列数据,总共有 288*30 个数据点。

我想散点图数据(x 轴:时间,y 轴:传感器值)。以下代码用于测试。

import pandas as pd
from matplotlib import pyplot as plt
import numpy as np

# generate time series randomly (length: 1 month)
rng=pd.date_range("2015-11-11",periods=288*30,freq="5min")
ts=pd.Series(np.random.randn(len(rng)),rng)

nr=3
nc=1

fig=plt.figure(1)
fig.subplots_adjust(left=0.04,top=1,bottom=0.02,right=0.98,wspace=0.1,hspace=0.1)

for i in range(3):
    ctr=i+1
    ax=fig.add_subplot(nr,nc,ctr)

    ax.scatter(ts.index,ts.values)
    ax.set_xlim(ts.index.min(),ts.index.max())

plt.show()
Run Code Online (Sandbox Code Playgroud)

我生成了具有 288*30 个观测值的随机时间序列数据,并试图将其绘制在散点图中。但是,如您所见,无法分析该图。

在此处输入图片说明

我想重绘它满足以下条件:

  1. 我想要图的放大版本。换句话说,某个时间范围(例如,2~3 小时)的部分数据点被一次性显示出来。然后,相邻点之间应该有足够的空间。

  2. 我想将图形保存为 png 或 pdf 文件。然后,如果我打开文件,图像(或 pdf)查看器有一个水平滚动条,使我能够浏览整个图形。

有谁能解决吗?

我认为对于 matplotlib 专家来说并不难,但对于我这个初学者来说却很难。

python visualization time-series matplotlib scatter-plot

5
推荐指数
1
解决办法
2071
查看次数

突出显示 matplotlib 散点图中的特定点

我有一个包含 12 列数据的 CSV。我专注于这 4 列

现在我已经绘制了“Pass def”和“Rush def”。我希望能够突出散点图上的特定点。例如,我想在图中突出显示 1995 DAL 点并将该点更改为黄色。

我已经开始使用 for 循环,但我不知道该去哪里。任何帮助都会很棒。

这是我的代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import csv
import random

df = pd.read_csv('teamdef.csv')

x = df["Pass Def."]
y = df["Rush Def."]
z = df["Season"]

points = []
for point in df["Season"]:
    if point == 2015.0:

    print(point)


plt.figure(figsize=(19,10))
plt.scatter(x,y,facecolors='black',alpha=.55, s=100)
plt.xlim(-.6,.55)
plt.ylim(-.4,.25)
plt.xlabel("Pass DVOA")
plt.ylabel("Rush DVOA")
plt.title("Pass v. Rush DVOA")
plot.show
Run Code Online (Sandbox Code Playgroud)

python csv matplotlib scatter-plot pandas

5
推荐指数
1
解决办法
1万
查看次数

Gnuplot:散点图和密度

我有代表星团的 x 和 y 数据点。我想使用 Gnuplot 及其带有重叠点的散点函数来可视化密度。

我使用了以下命令:

 set style fill transparent solid 0.04 noborder
 set style circle radius 0.01
 plot "data.dat" u 1:2 with circles lc rgb "red"
Run Code Online (Sandbox Code Playgroud)

结果:

在此处输入图片说明

但是我想要这样的东西

在此处输入图片说明

这在 Gnuplot 中可能吗?有任何想法吗?

gnuplot scatter-plot

5
推荐指数
1
解决办法
7811
查看次数

带有 chart.js 的时间散点图

我正在尝试在 (x,y) 数据的 chart.js 中呈现散点图,其中 x 是日期字符串。我在网上看到了很多示例和教程,其中讲师使用函数为示例图表生成时间戳,但我还没有找到任何使用可能收集的真实数据的示例。

我有看起来像这样的数据(从 cron 收集):

2017-07-08T06:15:02-0600,23.375
2017-07-08T06:20:02-0600,23.312
2017-07-08T06:25:02-0600,23.312
2017-07-08T06:30:02-0600,23.25
Run Code Online (Sandbox Code Playgroud)

我在chart.js中尝试了这样的数据(数据字符串周围有和没有“引号”):

data: [{
  x: 2017-07-08T06:15:02-0600,
  y: 23.375
},{
  x: 2017-07-08T06:20:02-0600,
  y: 23.312
},{
  x: 2017-07-08T06:25:02-0600,
  y: 23.312
},{
  x: 2017-07-08T06:30:02-0600,
  y: 23.25
Run Code Online (Sandbox Code Playgroud)

}],

什么都不渲染。我究竟做错了什么?

javascript time scatter-plot chart.js

5
推荐指数
3
解决办法
5369
查看次数

避免在 ggplot2 中重叠 geom_point 和 geom_text

如何避免 ggplot2 中的这两层重叠?我尝试显示文本,以便它们不会位于点上方。

check_overlap 在避免文本与自身重叠但不与其他图层重叠方面做得很好。

我也尝试过 library geom_text_repel,但是这个 library 不支持check_overlap并显示每个数据点的文本。

但我不需要每个点都有文字,就像check_overlap那样。

ggplot(dat, aes(x = CPI, y = HDI)) +
  geom_point(aes(color = Region), shape=21, size=4, position = "identity") +
  geom_text(data = dat, aes(label = Country), size=4, check_overlap = TRUE)
Run Code Online (Sandbox Code Playgroud)

r scatter-plot ggplot2 geom-text

5
推荐指数
1
解决办法
6668
查看次数

(matplotlib.pyplot) 散点图轴顺序错误

我正在关注这个线性回归示例,但我的结果与应有的不同。问题出在情节轴上,它们没有顺序。

预期的:

在此处输入图片说明

我的结果:

在此处输入图片说明

缩放以查看轴:

在此处输入图片说明

编码:

import pandas as pd
from sklearn import linear_model
import matplotlib.pyplot as plt

#read data
dataframe = pd.read_fwf('brain_body.txt')
x_values = dataframe[['Brain']]
y_values = dataframe[['Body']]

#train model on data
body_reg = linear_model.LinearRegression()
body_reg.fit(x_values, y_values)

#visualize results
plt.scatter(x_values, y_values)
plt.plot(x_values, body_reg.predict(x_values))
plt.show()
Run Code Online (Sandbox Code Playgroud)

脑体.txt

Brain        Body
    3.385    44.500
    0.480    15.500
    1.350     8.100
  465.000   423.000
   36.330   119.500
   27.660   115.000
   14.830    98.200
    1.040     5.500
    4.190    58.000
    0.425     6.400
    0.101     4.000
    0.920     5.700
    1.000     6.600
    0.005     0.140
    0.060     1.000
    3.500 …
Run Code Online (Sandbox Code Playgroud)

python plot matplotlib scatter-plot

5
推荐指数
1
解决办法
6569
查看次数