Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Легенда диаграммы. Гистограмма для + и - значений
 
Здравствуйте!

По фактическим значениям мы имеем двухцветный график-гистограмму (положительные значения синие, отрицательные соответственно красные), полученный по средствам инверсии для чисел < 0. Но как сделать так, чтобы в легенде отображалось тоже 2 цвета (синий и красный)? А то как видите отображается только синий. В данной задаче важно чтоб была 1 гистограмма и 1 точечная с гладкими кривыми (программа на VBA), поэтому замена гистограммы двумя графиками не представляется возможным.

Помогите пожалуйста. Кто что подскажет? Спасибо.
Изменено: Feliix - 02.06.2018 17:12:39
VBA: Создать график фильтра на основной гистограмме в виде точечной кривой
 
Я не один работаю над этой программой.. Ладно, и на том спасибо...
VBA: Создать график фильтра на основной гистограмме в виде точечной кривой
 
и это всё, что можете "посоветовать"?
VBA: Создать график фильтра на основной гистограмме в виде точечной кривой
 
Здравствуйте!

Столкнулся с такой проблемой, как построение 2 различных графиков в одном. Т.е. имеем программу, строящую график по данным, полученным экспериментально (строится гистограмма) и необходимо создать график фильтра на основной гистограмме (но уже в виде точечной кривой).

В самом файле Excel это получается выполнить (см приложение), а программа упорно делает 2 график в виде гистограммы.

Код программы
Код
Private Sub CommandButton2_Click()
    Dim mychart As Chart, fname As String
    
   fname = ThisWorkbook.Path & "\Данные.xlsx"
   With Workbooks.Open(fname, 0)
    Set mychart = Worksheets(1).ChartObjects(1).Chart
        mychart.SetSourceData Source:=Worksheets(1).Range("B:B")
 
        fname = ThisWorkbook.Path & Application.PathSeparator & "\picture.gif"
        mychart.Export Filename:=fname, Filtername:="gif"
        Image1.Picture = LoadPicture(fname)
       .Close saveChanges:=False
   End With
End Sub
 
Private Sub CommandButton3_Click()
    Dim mychart As Chart, x As Single, y As Single, v As String, s As String
        a = InputBox("Введите коэффициент фильтрации (в диапазоне от 0 до 1)")
    If a >= 0 And a <= 1 Then
        Cells(1, 5).Value = a
        v = "=$E$1*$B2+(1-$E$1)"
        s = "=$E$1*$B3+(1-$E$1)*$C2"
        Cells(2, 3).Formula = v
        Cells(3, 3).Formula = s
        Cells(3, 3).AutoFill Range(Cells(3, 3), Cells(Cells(Rows.Count, "B").End(xlUp).Row, 3))
 
    Set mychart = Worksheets(1).ChartObjects(1).Chart
        mychart.SetSourceData Source:=Worksheets(1).Range("B:B,C:C")
        
        fname = ThisWorkbook.Path & Application.PathSeparator & "picture.gif"
        mychart.Export Filename:=fname, Filtername:="gif"
        Image1.Picture = LoadPicture(fname)
    Else
        MsgBox "Внимание! Введите число от 0 до 1", 16
   End If
End Sub

Посмотрите пожалуйста, может подскажет кто. Спасибо.
Изменено: FelixZeD - 29.05.2018 00:06:09
Страницы: 1
Наверх