Создание инфографики в Python

В этой статье MSDN объясняется, как отключить отладку Just-In-Time на сервере Windows . Я включил соответствующую часть статьи ниже:

После установки Visual Studio на сервере поведение по умолчанию при возникновении необработанного исключения заключается в отображении диалогового окна «Исключение», которое требует вмешательства пользователя либо запустить отладку Just-In-Time или игнорировать исключение. Это может быть нежелательно для автоматической работы. Чтобы сервер больше не отображал диалоговое окно при возникновении необработанного исключения (поведение по умолчанию перед установкой Visual Studio), используйте редактор реестра, чтобы удалить следующие ключи реестра:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger

В 64-разрядной операционной системе также удалите следующие ключи реестра:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger

6
задан SilentGhost 2 November 2009 в 15:13
поделиться

3 ответа

Это зависит от того, что вам нужно делать с графиком, когда он у вас есть, Matplotlib позволяет интерактивно отображать график на экране, сохранять его в любом векторе, pdf или растровый формат и т. д.

Если вы выберете эту структуру, imshow сделает то, что вам нужно, вот пример:

# Just some data to test:
from random import gauss
a = [[gauss(0, 10) for i in xrange(0, 5)] for j in xrange(0,5)]

from pylab import * # or just launch "IPython -pylab" from the command line

# We create a custom colormap:
myblue = cm.colors.LinearSegmentedColormap("myblue", {
    'red':   [(0, 1, 1), (1, 0, 0)], 
    'green': [(0, 1, 1), (1, 0, 0)],
    'blue':  [(0, 1, 1), (1, 1, 1)]})

# Plotting the graph:
imshow(a, cmap=myblue)

Для получения дополнительных сведений о цветовой карте проверьте эту ссылку , а вот ссылка для imshow - или просто используйте help (colors.LinearSegmentedColormap) и help (imshow) .

alt text http://img522.imageshack.us/img522/6230/bluep.png

(обратите внимание, что это результат стандартных параметров, вы можете добавить сетку, изменить фильтрацию и так далее).


Редактировать

однако я хочу отобразить числа в сетке

Для простоты:

for i in xrange(0,5):
    for j in xrange(0,5):
        text(i, j,
             "{0:5.2f}".format(a[i][j]),
             horizontalalignment="center",
             verticalalignment="center")
4
ответ дан 16 December 2019 в 21:42
поделиться

PyCairo - ваш друг. Простой пример:

from __future__ import with_statement
import cairo
img = cairo.ImageSurface(cairo.FORMAT_ARGB32,100,100)
g = cairo.Context(img)
for x in range(0,100,10):
    for y in range(0,100,10):
        g.set_source_rgb(.1 + x/100.0, 0, .1 + y/100.0)
        g.rectangle(x,y,10,10)
        g.fill()
with open('test.png','wb') as f:
    img.write_to_png(f)

output

Вы можете найти это руководство полезным.

2
ответ дан 16 December 2019 в 21:42
поделиться

Одна из возможностей - сгенерировать SVG из Python. Вы можете просматривать SVG в Firefox или Inkscape.

Вот быстрый и грязный пример:

import random

def square(x, y, value):
    r, g, b = value * 255, value * 255, 255
    s = '<rect x="%d" y="%d" width="1" height="1" style="fill:rgb(%d,%d,%d);"/>' % (x, y, r, g, b)
    t = '<text x="%d" y="%d" font-size=".2" fill="yellow">%f</text>' % (x, y + 1, value)
    return s + '\n' + t

print('''
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg width="100%" height="100%" version="1.1" viewBox="0 0 5 5"
xmlns="http://www.w3.org/2000/svg">
''')
for x in range(0, 5):
    for y in range(0, 5):
        print(square(x, y, random.random()))

print('</svg>')

alt text http://www.imagechicken.com/uploads/1257184721026098800.png[1239estive

2
ответ дан 16 December 2019 в 21:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: