标签: scatter-plot

使用 Chart.Js 从数组中绘制散点图

我编写了以下代码:

<!DOCTYPE html>
<html lang = "en">
<head> 
    <meta charset = "UTF-8">
    <meta name = viewport" content ="width=device-width, intial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content = "ie=edge">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js"></script>
    <link rel ="stylesheet" href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
    <title>My Chart.js</title>

</head>
<body> 
    <div class = "container">
        <canvas id="myChart"></canvas>
    </div>
    <script>
    var c = []; 
    var randomNumber = Math.random()*190;
        function getRandomDataPoint(x){
            if (x == "x"){
                var _return
                return Math.random()*20;
            }
            else if (x == "y"){
                return Math.random()*10 + randomNumber; 
            } 
            else{

            } 
        }
        var xPoints = []; …
Run Code Online (Sandbox Code Playgroud)

javascript arrays graph scatter-plot chart.js

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

如何从散点图图例中删除属性

plot我使用seaborn三列进行了分散['Category','Installs' and 'Gross Income'],并使用数据集中的类别列进行了色调图。然而,在图例中,除了我想要出现的类别列之外,最后还有一个大自以为是的内容,显示了散点图中使用的列之一,安装。我想删除这个元素,但是通过搜索其他问题和文档seabornmatplotlib我不知道如何继续。

这是我正在使用的代码片段:

fig, ax = pyplot.subplots(figsize=(12,6))

ax=sns.scatterplot( x="Installs", y="Gross Income", data=comp_income_inst, hue='Category', 
                   palette=sns.color_palette("cubehelix",len(comp_income_inst)), 
                   size='Installs', sizes=(100,5000), legend='brief', ax=ax) 

ax.set(xscale="log", yscale="log")
ax.set(ylabel="Average Income") 
ax.set_title("Distribution showing the Earnings of Apps in Various Categories\n", fontsize=18)
plt.rcParams["axes.labelsize"] = 15



# Move the legend to an empty part of the plot
plt.legend(loc='upper left', bbox_to_anchor=(-0.2, -0.06),fancybox=True, shadow=True, ncol=5)
#plt.legend(loc='upper left')

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

这是上面代码的结果,注意右下角Legend中的洋洋得意

python matplotlib scatter-plot seaborn

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

如何在极坐标图中用平滑线连接点?

这是我的代码:

from matplotlib import pyplot as plt

dec = pd.read_csv('POLAR.txt', sep="    ", header=None, skiprows=1)

ra = [0,30,60,90,120,150,180,210,240,270,300,330] 
ra = [x/180.0*np.pi for x in ra]

ax = plt.subplot(111, projection='polar')
plt.polar(ra, dec, 'ok')
plt.plot(ra,dec, data=ra , marker='o', color='olive', linewidth=2)
ax.set_yticklabels([]) 
Run Code Online (Sandbox Code Playgroud)

我仍然不确定如何连接最后一点和第一点。这就是我得到的:

在此输入图像描述

我想知道如何用曲线连接这些点?有没有办法得到这个花生形图的方程?

python matplotlib scatter-plot smoothing polar-coordinates

5
推荐指数
0
解决办法
1395
查看次数

pyplot:绘制具有多个 Y 值和分类 X 值的散点图

我正在尝试使用从实验中收集的指标数据创建一个简单的散点图。我每天都会测试多个实验样本,并且样本数量各不相同。我正在尝试创建一个散点图,其中将天数作为 x 值,将当天收集的所有实验值作为 y 值。

到目前为止我已经尝试了几种方法。

我将保留完整的代码,但这里是数据的示例:

XVals = ['10-Dec-18', '11-Dec-18']
YVals = [[0.88, 0.78, 0.92, 0.98, 0.91],[0.88, 0.78, 0.92, 0.98]]
Run Code Online (Sandbox Code Playgroud)

由于 pyplot 希望 x 和 y 具有相同的维度,我尝试了以下建议

for xe, ye in zip(XVals, YVals):
   plt.scatter([xe] * len(ye), ye)
Run Code Online (Sandbox Code Playgroud)

这给了我一个值错误,因为我的 xval 是字符串。

ValueError: could not convert string to float: '10-Dec-18'
Run Code Online (Sandbox Code Playgroud)

我还尝试以以下方式生成绘图,但我再次收到错误消息,因为 x 和 y 的尺寸不同:

fig, ax = plt.subplots()
ax.scatter(XVals, YVals)
plt.show()
Run Code Online (Sandbox Code Playgroud)

这给了我一个明显的错误:

ValueError: x and y must be the same size
Run Code Online (Sandbox Code Playgroud)

我无法找到类似图的任何示例(多个 Y 值与分类 X 值)。任何帮助,将不胜感激!

python matplotlib scatter-plot

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

Matplotlib python 用每对 (x,y) 值的线连接两个散点图?

我在将散点图中的两组点相互连接时遇到问题,使得一条线(在本例中使用虚拟数据)将所有“前”点与相应的“后”点连接起来。'marker = 'o-' 参数不适用于 plt. 分散,但适用于 plt。阴谋。建议如何连接相应的值?谢谢并希望这个问题有意义!

import matplotlib.pyplot as plt
import numpy as np
x1 = ["pre"] * 4
x2 = ["post"] * 4
y1 = [0.1, 0.15, 0.13, 0.25]
y2 = [0.85, 0.76, 0.8, 0.9]
plt.scatter(x1, y1, color='y')
plt.scatter(x2, y2, color='g')
plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib scatter-plot

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

在 matplotlib 中绘制 x 轴和 y 轴位置上的值时遇到问题

我的文本文件中有三列,前两列代表 x 轴和 y 轴位置,我试图在 x 轴和 y 轴处绘制第三列。第三列由 0-5 数字组成。

我已经尝试了以下代码,但它没有给我所需的结果。

import numpy as np
import matplotlib.pyplot as plt

x, y, z = np.loadtxt('test.txt', delimiter=' ', unpack=True)
plt.plot(x, '.', y, '.', z)

plt.xlabel('Distance in meters')
plt.ylabel('Distance in meters')
plt.title('distribution of values')
plt.legend()
plt.show()
Run Code Online (Sandbox Code Playgroud)

这是示例 txt 文件。

2411.02 3310.21 3
-1246.65 -3098.39 4
166.298 6042.84 0
----
-51.7214 -2374.09 5
7285.08 661.326 0
-1390.51 4438.9 2
-2741.8 466.014 5
0 0 0
Run Code Online (Sandbox Code Playgroud)

图显示了我从下面的代码中得到的实际图。但是,第三个值应根据 x 轴和 y 轴位置以圆形形式绘制。

这是输出图:

在此输入图像描述

在这些资源的帮助下解决: 在此处输入链接描述 …

python matplotlib scatter-plot

5
推荐指数
0
解决办法
487
查看次数

Matplotlib 中具有边际 KDE 图和多个类别的散点图

我想要 Matplotlib 中的一个函数类似于Matlab 的“scatterhist”函数,它采用“x”和“y”轴的连续值,加上一个分类变量作为输入;并生成一个散点图,其中包含边际 KDE 图和两个或多个不同颜色的分类变量作为输出:Matlab/Mathworks“scatterhist”示例我在 Matplotlib 中 找到了带有边缘直方图的散点图示例,在 Seaborn jointplot 中找到了边缘直方图在 Matplotlib 中找到了重叠直方图在 Matplotib 中找到了边缘 KDE 图;但我还没有找到任何将散点图与边际 KDE 图结合起来并用颜色编码来指示不同类别的示例。

如果可能的话,我想要一个使用“vanilla”Matplotlib而不使用Seaborn的解决方案,因为这将避免依赖性并允许使用标准Matplotlib命令完全控制和自定义绘图外观。

我打算尝试根据上面的例子写一些东西;但在此之前,我想检查一下类似的功能是否已经可用,如果没有,那么将不胜感激有关最佳使用方法的任何指导。

margin matplotlib histogram scatter-plot kde-plasma

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

以绘图单位指定 matplotlib 散点大小

我想不使用点或像素而是使用绘图单位来指定散点大小。以下面为例:

import matplotlib.pyplot as plt
x = [0]
y = [0]
plt.scatter(x,y)
plt.show()
Run Code Online (Sandbox Code Playgroud)

这会产生如下图:

在此输入图像描述

比如说,如果我希望标记的半径恰好为 0.002 个绘图单位,该怎么办?据我了解,该s参数表示标记大小的区域(以磅为单位)。有没有办法直接以绘图单位提供它?如果不是,从绘图单位转换为点的最佳方法是什么,以便我可以将其传递到s参数中?

我还看到了一些其他问题,建议使用 aPatchCollection并简单地绘制具有指定半径的圆。我不想使用这种方法。我想避免广泛重写现有代码,而是将s参数与plt.scatter.

编辑

我尝试使用这个问题中的代码,它显然允许您根据绘图单位控制标记大小。但是我无法真正让它适用于我的基本情况:

import matplotlib.pyplot as plt
import numpy as np


class scatter():
    def __init__(self,x,y,ax,size=1,**kwargs):
        self.n = len(x)
        self.ax = ax
        self.ax.figure.canvas.draw()
        self.size_data=size
        self.size = size
        self.sc = ax.scatter(x,y,s=self.size,**kwargs)
        self._resize()
        self.cid = ax.figure.canvas.mpl_connect('draw_event', self._resize)

    def _resize(self,event=None):
        ppd=72./self.ax.figure.dpi
        trans = self.ax.transData.transform
        s =  ((trans((1,self.size_data))-trans((0,0)))*ppd)[1]
        if s != self.size:
            self.sc.set_sizes(s**2*np.ones(self.n))
            self.size = s …
Run Code Online (Sandbox Code Playgroud)

python matplotlib scatter-plot

5
推荐指数
0
解决办法
2875
查看次数

如何获取没有填充的标记,来自 matplotlib 3.3.1

matplotlib.pyplot.scatter有一个facecolors=None参数将使数据点标记看起来内部是空心的。我怎样才能获得相同的外观pandas.DataFrame.plot.scatter()

python data-visualization matplotlib scatter-plot pandas

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

如何获取没有填充的联合图标记

matplotlib.pyplot.scatter()有一个facecolors=None参数将使数据点看起来内部是空心的。如何获得相同的外观seaborn.jointplot()

在早期版本的seaborn中也发现了相同的论点,但由于某种原因在最新版本(0.11)中被删除。

python scatter-plot seaborn jointplot jointgrid

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