繁体   English   中英

Matplotlib替代Python中的用户输入变量

Matplotlib Substitute User Input Variables in Python

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试用python编写一个程序,该程序将接受用户输入以在matplotlib中设置甜甜圈饼图的颜色。 这是我目前正在工作的东西:

#3 ring 3 - Factors
mypie4, _ =ax.pie(factor_size, radius=5-1.4, colors=[a(0.85), a(0.85), 
                                                     g(0.0), a(0.85), 
                                                     g(0.0), 
                                                     b(0.7), b(0.7), b(0.7),
                                                     c(0.85), c(0.85), 
                                                     c(0.85), c(0.85), 
                                                     g(0.0), g(0.0),
                                                     d(0.85), d(0.85), 
                                                     g(0.0)])
plt.setp(mypie4, width=.2, edgecolor='black')
plt.margins(0,0)

这是我想发生的事情:

## Show menu ##
print (30 * '-')
print ("   Color Choices for First Quadrant")
print (30 * '-')
print ("1. Blue")
print ("2. Orange")
print ("3. Green")
print ("4. Purple")
print (30 * '-')

## Get input ###
choice = raw_input('Enter your choice [1-4] : ')

### Convert string to int type ##
choice = int(choice)

### Take action as per selected menu-option ###
if choice == 1:
    user_color = [plt.cm.Blues(0.75)]
elif choice == 2:
    user_color = [plt.cm.Oranges(0.75)]
elif choice == 3:
    user_color = [plt.cm.Greens(0.75)]
elif choice == 4:
    user_color = [plt.cm.Purples(0.75)]
else:    ## default ##
    print ("Invalid number. Try again...")    


#3 ring 3 - Factors
mypie4, _ =ax.pie(factor_size, radius=5-1.4, colors=[[user_color], 
                                                     [user_color], 
                                                    [user_color], 
                                                     [user_color], 
                                                     [user_color], 
                                                     b(0.7), b(0.7), b(0.7),
                                                     c(0.85), c(0.85), 
                                                     c(0.85), c(0.85), 
                                                     g(0.0), g(0.0),
                                                     d(0.85), d(0.85), 
                                                     g(0.0)])
plt.setp(mypie4, width=.2, edgecolor='black')
plt.margins(0,0)

我不知道如何将变量调用到ax.pie的colors属性中。 使用这种格式,我可以对其他象限执行相同的操作。 随附的是我手动制作的最终照片。 我希望能够自动产生这些颜色。 甜甜圈色象限轮

1 个回复

您需要将颜色放入单个阵列中。 您生成了多个数组,每个数组都有一个值。

首先,您需要将所有象限的用户输入保存到单个数组中。 因此,您可以使用以下功能:

def getQuadrantColor(colorList, quadrantName):
    print (30 * '-')
    print ("   Color Choices for {} Quadrant".format(quadrantName))
    print (30 * '-')
    print ("1. Blue")
    print ("2. Orange")
    print ("3. Green")
    print ("4. Purple")
    print (30 * '-')
    ## Get input ###
    choice = raw_input('Enter your choice [1-4] : ')

    ### Convert string to int type ##
    choice = int(choice)

    ### Take action as per selected menu-option ###
    if choice == 1:
        colorList.append(plt.cm.Blues(0.75))
    elif choice == 2:
        colorList.append(plt.cm.Oranges(0.75))
    elif choice == 3:
        colorList.append(plt.cm.Greens(0.75))
    elif choice == 4:
        colorList.append(plt.cm.Purples(0.75))
    else:    ## default ##
        print ("Invalid number. Try again...") 
        getQuadrantColor(colorList, quadrantName)

您现在可以使用此功能,例如

colorList = []
quadrants = ["First", "Second", "Third", "Fourth"]
for quadrant in quadrants:
    getQuadrantColor(colorList, quadrant)

现在您获得了所有颜色信息,可以创建饼图

mypie4, _ =ax.pie(factor_size, radius=5-1.4, colors=colorList)
plt.setp(mypie4, width=.2, edgecolor='black')
plt.margins(0,0)
1 Python:使用matplotlib和用户输入进行线程处理/多处理

我目前正在编写一个代码,该代码将连续地通过串行通信检索绘图数据,同时还允许用户以raw_input的形式输入以控制作业,例如开始/停止/清除绘图并设置保存文件名。数据。 当前,我正在尝试通过一个额外的线程来做到这一点,该线程将在连续绘制和保存数据时读取用户输入并将其中继到程序。 不幸的是 ...

2 python中来自用户matplotlib的输入函数

我正在尝试制作一个可以绘制用户编写函数的程序。 该图来自参数函数。 我在python中使用matplotlib,但我可以做到这一点,即用户将convert转换为matplotlib使用的函数。 你能帮我吗? 还是可以建议我其他python的库? 这是我的代码以及我尝试过的内容: ...

3 允许用户输入变量(Python)

我正在使用PuLP进行一个项目,并且试图创建一个终端提示以允许用户输入数据,然后我的Python程序会将输入更改为PuLP可读的代码。 为此,我必须允许用户输入: 我的代码将eval()此代码,并创建变量a,b和c 有任何想法吗? 我试过使用exec(),但似乎不太喜欢。 ...

4 在 Python 中使用用户输入作为变量

我正在尝试用 Python 实现一个“用户友好”的投资组合优化程序。 由于我仍然是初学者,我并没有完全意识到这一点。 程序唯一应该用作输入的是股票代码。 我试图在下面创建一个 mwe: 现在我只希望代码能够处理各种未知数量的输入。 我尝试阅读大量有关全局变量的内容或尝试使用字典来解决它,但无 ...

5 使用RegEx和.replace将文本替换为用户输入?

我是jQuery的新手,偶然发现RegEx概念与.replace进行漂亮的文本替换。 在我的表单中,我有一些复选框可以触发文本显示在文本区域中。 还有一些用户输入区域作为字段。 如何使用此jQuery在某些复选框中用用户输入替代部分文本,而在其他复选框中替代呢? 我认为使用if ...

6 在matplotlib python中绘制多个变量

我正在尝试绘制条形图,并且我有多个 xaxisn(n 从 1 到 5)和 yaxisn(1 到 5)列表。 每个xaxisn 中的值最初映射到字典中yaxisn 中的值,它们从1 到5 相同,但顺序不同。 例如 所以我创建了一个包含 x 的所有标称值的列表,并尝试将所有内容与 但我注意到尽管 ...

8 使用Python中的用户输入来调用/选择变量(浮点值)

我一直在从事计算物理项目(将化学反应物相对于彼此的比率作图以显示振荡行为),并取得了相当大的成功。 但是,我的模拟之一涉及两个以上的有源振动剂(实际上是五个),显然不适合任何单个视觉图... 因此,我的方案是让用户选择他们想要在x轴和y轴上绘制的两种反应物。 我试图(愚蠢地)将字符串输 ...

9 模式匹配后用用户输入替换行的其余部分

我正在寻找与文件中的模式匹配的bash命令,并将该行的其余部分替换为脚本要求用户输入的内容.bash脚本中可能有类似的东西吗? 例如:我有一个文件,它是另一个程序的输入文件。我想使用bash脚本更改它的某些部分。 因此,是否有可能我可以使用grep / sed命令搜索'karyot ...

2016-02-05 19:38:57 1 58   bash
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM