我是靠谱客的博主 忐忑烤鸡,最近开发中收集的这篇文章主要介绍python标红,python – 具有不同标记和颜色的matplotlib散点图,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我想根据2个外部矢量的值制作不同标记和不同颜色的图.

在这里我尝试过:

>>> s = [u'+', u'+', u'o']

>>> col = ['r','r','g']

>>> x = np.array([1,2,3])

>>> y = np.array([4,5,6])

>>> pl.scatter(x,y,marker=s,c=col)

Traceback (most recent call last):

File "/usr/lib/python3/dist-packages/matplotlib/markers.py", line 233, in set_marker

Path(marker)

File "/usr/lib/python3/dist-packages/matplotlib/path.py", line 133, in __init__

vertices = np.asarray(vertices, np.float_)

File "/usr/lib/python3/dist-packages/numpy/core/numeric.py", line 460, in asarray

return array(a, dtype, copy=False, order=order)

ValueError: could not convert string to float: '+'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "", line 1, in

File "/usr/lib/python3/dist-packages/matplotlib/pyplot.py", line 3087, in scatter

linewidths=linewidths, verts=verts, **kwargs)

File "/usr/lib/python3/dist-packages/matplotlib/axes.py", line 6298, in scatter

marker_obj = mmarkers.MarkerStyle(marker)

File "/usr/lib/python3/dist-packages/matplotlib/markers.py", line 162, in __init__

self.set_marker(marker)

File "/usr/lib/python3/dist-packages/matplotlib/markers.py", line 236, in set_marker

raise ValueError('Unrecognized marker style {}'.format(marker))

ValueError: Unrecognized marker style ['+', '+', 'o']

>>>

编辑:

建议的解决方案适用于模拟示例,但它不适用于我的实际问题. (我不知道为什么).

这是我的完整代码:

import matplotlib.pyplot as pl

import numpy as np

locY = np.linspace(0, 1, 50) #in the real data locX and locY are coordinate of the points

locX = np.linspace(0,1,50)

p = 50

C = {0: [0, 13, 14, 19, 22, 30], 16: [1, 16, 17], 20: [15, 18, 20, 24], 37: [4, 8, 9, 33, 37, 40, 47], 41: [5, 7, 28, 32, 34, 36, 39, 41, 42, 44, 46], 26: [6, 26, 27, 29, 31, 35], 45: [10, 11, 12, 38, 43, 45, 48, 49], 21: [2, 3, 21, 23, 25]}

index = C.keys()

def plot_cluster(C, index):

color_map = ['b', 'g', 'r', 'c', 'm', 'y', 'k', 'w']

colors = []

m_type = []

for i in range(p):

for pos, k in enumerate(index):

if i in C[k]:

#colors.append(pos)

colors.append(color_map[pos])

if i == k:

m_type.append(u'+')

else:

m_type.append(u'o')

fig = pl.scatter(locX, locY, c=colors, s=30, cmap='spectral')

fig = pl.locator_params(nbins=3)

fig = pl.xlim(-0.2, 1.2)

fig = pl.ylim(-0.2, 1.2)

fig = pl.locator_params(nbins=5, axis='y')

return fig

pl.show(plot_cluster(C, index))

如果我用建议的答案替换绘图部分,我在图中只获得2分(我不知道为什么)

我怎么解决?

最后

以上就是忐忑烤鸡为你收集整理的python标红,python – 具有不同标记和颜色的matplotlib散点图的全部内容,希望文章能够帮你解决python标红,python – 具有不同标记和颜色的matplotlib散点图所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部