我正在编写一个脚本来为两个维度上的散点图数据制作热图.以下是我想要做的一个玩具示例:
import numpy as np
from matplotlib.pyplot import*
x = [1,2,3,4,5]
y = [1,2,3,4,5]
heatmap, xedges, yedges = np.histogram2d(x, y, bins=50)
extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]]
imshow(heatmap, extent = extent)
Run Code Online (Sandbox Code Playgroud)
我应该期望"最温暖的"区域沿着y = x但是它们沿着y = -x + 5出现,即热图在反方向上读取一个列表.我不确定为什么会这样.有什么建议?
谢谢
对于excel的xy散点图,我有基于时间("hh:mm:ss")的x和y坐标数据.虽然我已经将x轴数据和y轴数据放在相邻列中并且在选择散点图时都突出显示它们,但是excel继续将数据识别为x和y坐标而不是两个独立的数据系列.如何使excel散点图程序将数据识别为x轴和y轴数据点而不是数据序列(自变量)?
有谁知道如何创建一个散点图R,以创建像图这些在PRISM的的GraphPad:

我尝试使用箱形图,但它们不按我想要的方式显示数据.graphpad可以生成的这些列散点图可以更好地显示数据.
任何建议,将不胜感激.
当我们在散点图中同时具有形状和颜色图例时,颜色图例的形状会产生误导:
foo <- data.frame(
length=runif(10),
height=runif(10),
group=as.factor(sample(3,10,rep=T)),
quality=as.factor(sample(2,10,rep=T))
)
ggplot(foo, aes(x = length, y = height, color=group, shape=quality)) +
geom_point(size=5)
Run Code Online (Sandbox Code Playgroud)
这将产生下面的图.如您所见,"圆"形状是为对象保留的quality==1,但在group图例中,所有3个组都以"圆"形状呈现 - 使用不同的颜色,这可能会产生误导.
如果group图例由一个尚未为特定目的保留的形状表示,那就好了,就像用特定颜色填充整个图例项目一样.
你有什么简单的想法如何解决这个问题?

我一直在试图挽救一个动画散点图与matplotlib,我宁愿它并不需要完全不同的代码查看为动画人物和保存一份副本.该图显示了保存完成后的所有数据点.
此代码是修改后的版本Giggi的在动画中matplotlib 3D散点图,从对颜色的修复晏的回答对Matplotlib三维散彩丢失重绘后(因为颜色将是我的视频很重要,所以我要确保他们的工作).
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
FLOOR = -10
CEILING = 10
class AnimatedScatter(object):
def __init__(self, numpoints=5):
self.numpoints = numpoints
self.stream = self.data_stream()
self.angle = 0
self.fig = plt.figure()
self.fig.canvas.mpl_connect('draw_event',self.forceUpdate)
self.ax = self.fig.add_subplot(111,projection = '3d')
self.ani = animation.FuncAnimation(self.fig, self.update, interval=100,
init_func=self.setup_plot, blit=True,frames=20)
def change_angle(self):
self.angle = (self.angle + 1)%360
def forceUpdate(self, event):
self.scat.changed()
def setup_plot(self):
X = next(self.stream)
c …Run Code Online (Sandbox Code Playgroud) 我有一个all看起来像这样的数据框:
现在我想创建一个散点图,其中x轴的列标题和相应的值作为数据点.例如:
7| x
6| x x
5| x x x x
4| x x x
3| x x
2| x x
1|
---------------------------------------
STM STM STM PIC PIC PIC
cold normal hot cold normal hot
Run Code Online (Sandbox Code Playgroud)
这应该很容易,但我无法弄清楚如何.
问候
我有一个带有许多点的散点图.每个点都有一个与之相关的字符串(长度不一样),我想提供一个标签,但我不能适应它们.所以我想迭代我的数据点从最重要到最不重要,并且在每种情况下仅在标签不与现有标签重叠时才应用标签.琴弦长度不一.其中一位评论者提到解决背包问题以找到最佳解决方案.在我的情况下,贪心算法(总是标记可以被标记而没有重叠的最重要的剩余点)将是一个良好的开端并且可能就足够了.
这是一个玩具的例子.我可以让Python只标记尽可能多的点而不重叠吗?
import matplotlib.pylab as plt, numpy as np
npoints = 100
xs = np.random.rand(npoints)
ys = np.random.rand(npoints)
plt.scatter(xs, ys)
labels = iter(dir(np))
for x, y, in zip(xs, ys):
# Ideally I'd condition the next line on whether or not the new label would overlap with an existing one
plt.annotate(labels.next(), xy = (x, y))
plt.show()
Run Code Online (Sandbox Code Playgroud) 我在R中使用了plotly 4.5.2.我创建了一个在变量上调整大小的散点图,问题是这些大小也反映在图例中,这使得它们难以阅读.
我希望我的图形保持不变,唯一的例外是图例中气泡的大小.这些气泡可以设置为全部相同的尺寸或缩放到更小的尺寸.重要的是,图表中的大小必须保持不变.
请在此处找到可重现的代码:
library(plotly)
data <- data.frame(name = c('test1', 'test2', 'test3', 'test4'),
x = c(1, 15, 90, 45),
y = c(9, 43, 43, 53),
size = c(10000, 50000, 90000, 3000),
colour = c("rgba(230, 42, 56, 0.3)", "rgba(76, 175, 80, 0.3)",
"rgba(32, 169, 242, 0.3)", "rgba(255, 193, 7, 0.3)")
)
plot <- plot_ly(data = data) %>%
add_trace(x = ~x,
y = ~y,
mode = 'markers',
type = 'scatter',
color = ~name,
marker = list(
color = ~colour,
opacity = 1, …Run Code Online (Sandbox Code Playgroud) 我有一些玩具数据的散点图。
我想在给定点旁边绘制一个带有该点颜色的标签。
玩具示例:
x = 100*np.random.rand(5,1)
y = 100*np.random.rand(5,1)
c = np.random.rand(5,1)
fig, ax = plt.subplots()
sc = plt.scatter(x, y, c=c, cmap='viridis')
# I want to annotate the third point (idx=2)
idx = 2
ax.annotate("hello", xy=(x[idx],y[idx]), color='green',
xytext=(5,5), textcoords="offset points")
plt.show()
Run Code Online (Sandbox Code Playgroud)
我需要以某种方式获得这一点的颜色,并改变我的color='green'部分color=color_of_the_point
如何获得散点图中点的颜色?
颜色矢量c将转换为颜色图,并且还可以进行其他修改,例如归一化或alpha值。
SC拥有访问点的坐标的方法:
sc.get_offsets()
Run Code Online (Sandbox Code Playgroud)
因此,也有一种获取点颜色的方法是合乎逻辑的,但我找不到这种方法。
我正在研究HDR中的色调映射运算符.我的问题很简单.我想在Matlab 2015Ra上使用计算机规格核心i5 20GB RAM分散绘图大型数组.只有散点图会占用整个内存(大约占20GB的92%).我需要一些建议来绘制高阵列.我知道Matlab 2018有binscatter功能,但我的版本较低.谢谢.示例代码:
a=randn(21026304,1);
scatter(a,a);
Run Code Online (Sandbox Code Playgroud)
只有这段代码会占用所有内存.